$(document).ready(function(){
	/*----------导入相关模块----------*/
	const api = require("./modules/api.js");
	const util = require("./modules/util.js");

	/*----------声明变量-------------*/
	const data = {
		phone: "",
		code: ""
	};
	let is_sendcode_submit = false;
	let is_submit = false;
	
	/*----------检测输入框变化--------*/
	$("#phone").bind("input propertychange", function(){
		data.phone = $(this).val();
		phone_validator();
	});
	$("#code").bind("input propertychange", function(){
		data.code = $(this).val();
		code_validator();
	});


	/*----------获取验证码事件---------*/
	$("#send-code").click(function(){
		if(phone_validator()){
			if(is_sendcode_submit) return;
			is_sendcode_submit = true;
			api.user_getCode({phone: data.phone}).then(res=>{
				if(res.code == "0"){
					let time = 60;
					let time_text = `${time}S`;
					$(this).addClass("send-code-active").text(`${time}S`);
					let timer = setInterval(()=>{
						time -= 1;
						$(this).addClass("send-code-active").text(`${time}S`);
						if(time <= 0){
							clearInterval(timer);
							is_sendcode_submit = false;
							$(this).removeClass("send-code-active").text("获取验证码");
						};
					}, 1000);
				}else{
					is_sendcode_submit = false;
				};
			});
		};
	});

	/*---------提交表单事件-----*/
	$("#submit").click(function(){
		if(submit_validator()){
			if(is_submit) true;
			is_submit = true;
			api.user_login(data).then(res=>{
				if(res.code == "0"){
					util.setCookie("token", res.result.token);
					util.setCookie("uid", res.result.user.id);
					if(util.query("next")){
						window.location.href = util.query("next");
					}else{
						window.location.href = "/admin";
					};
				}else if(res.code == "CM004"){
					$("#code").prev(".form-error").text(res.errorMsg).fadeIn();
				};
			});
		};
	});

	function phone_validator(){
		if(!data.phone){
			$("#phone").prev(".form-error").text("请输入手机号").fadeIn();
			return false;
		};
		if(!util.isPhone(data.phone)){
			$("#phone").prev(".form-error").text("请输入正确的手机号").fadeIn();
			return false;
		};
		$("#phone").prev(".form-error").fadeOut();
		return true;
	};
	function code_validator(){
		if(!data.code){
			$("#code").prev(".form-error").text("请输入验证码").fadeIn();
			return false
		};
		$("#code").prev(".form-error").fadeOut();
		return true;
	};
	
	function submit_validator(){
		return [phone_validator(), code_validator()].every((item)=>{
			return item;
		});
	};
});